package homework;

public class Homework_P1M2_3_PhonePackage extends Homework_P1M2_3_AbstractPackage implements Homework_P1M2_3_ServeCall {
    // 记录短信条数
    private int message;

    //初始化通话套餐
    public Homework_P1M2_3_PhonePackage(int price, int phonePackage,int message) {
        // 继承抽象套餐类
        super(price,phonePackage);
        // 设置短信
        setMessage(message);
    }

    public void setMessage(final int message) {
        this.message = message;
    }

    public int getMessage() {
        return message;
    }

    // 重写抽象套餐类，打印套餐信息；
    @Override
    public void showInfo() {
        System.out.printf("通话套餐：时长包%d分钟;每月资费%d元/分钟;短信%d条;\n", getPhonePackage(), getPrice(), getMessage());
    }

    // 重写通话服务接口方法
    @Override
    public void server(int callDuration, Homework_P1M2_3_PhoneCard phoneCard) {
        // 消费金额=通话数量*资费
        int consumeValue=callDuration*getPrice();
        // 手机余额减消费
        phoneCard.setAccountBalance(phoneCard.getAccountBalance() - consumeValue);
        // 添加通话消费时长
        phoneCard.addComsume(consumeValue,callDuration,0);
        // 打印手机卡当前消费信息
        phoneCard.showInfo();
    }


}

